#ifndef LEG_H
#define LEG_H

#include "Global.h"
#include "vmc.h"

#define MAX_LEG 400.0f
#define MIN_LEG 200.0f
#define MAX_HEIGHT 300.0f
#define MIN_HEIGHT 200.0f

typedef struct
{
    uint8_t ID;
    HT_t *motorF;
    HT_t *motorB;

    VMC_t vmc;

    float alpha; // 前半腿电机角度
    float beta;  // 后半腿电机角度

    float alphaW; // 前半腿电机预期速度
    float betaW;  // 后半腿电机预期速度

    float correntForceF; // 修正力
    float correntForceB; // 修正力

    float H;  // 步高
    float H2; // 下蹬地步高
    float S;  // 步长
} Leg_t;

void Leg_Init(Leg_t *leg, uint8_t legID, HT_t *motorF, HT_t *motorB);
void Leg_Run(Leg_t *leg);
void calcCycloid(Leg_t *leg);

#endif
